/*
 * Copyright (c) 2007-2021 西安交通信息投资营运有限公司 版权所有
 */

package com.xci.xajtfb.wxc.dao;

import com.github.lvyanyang.annotation.Paging;
import com.xci.xajtfb.wxc.entity.SchVehicle;
import com.xci.xajtfb.wxc.filter.SchVehicleFilter;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 教练车基本资料数据层
 * @author 马星俊 maxingjun@xci96716.com
 * @since 2021-03-01 17:39:46
 */
public interface SchVehicleDao {


    /**
     * 根据主键查询单个教练车基本资料
     * @param id 教练车基本资料主键
     * @return 返回教练车基本资料实体
     */
    SchVehicle selectById(@Param("id") Long id);

    /**
     * 查询教练车基本资料分页列表
     * @param filter 过滤条件
     * @return 返回教练车基本资料分页列表
     */
    /*
        allowSortNames = {"vehicle_number","school_id","vehicle_number_old","vehicle_owner","vehicle_owner_spell","vehicle_type","vehicle_category","status","production_date","purchase_date","price","limit_number","engine_number","vehicle_tonnage","vehicle_long","vehicle_width","vehicle_height","license_number","certification_date","license_prefix","vehicle_color","vehicle_brand","verification_startdate","verification_enddate","verification_result","evaluate_date","evaluate_grade","vehicle_url","vehicle_number_color","training_vehicle_type","audit_status","audit_date","audit_name","coach_id","oil_consumption","frame_number","fuel_type","gear_type","area_name","area_code","seat_count","audit_opinion","input_sources","isblacklist","old_strid","create_user_id","create_user_name","create_date_time","update_user_id","update_user_name","update_date_time"},
        sortNameMaps = {"vehicle_number:vehicle_number","school_id:school_id","vehicle_number_old:vehicle_number_old","vehicle_owner:vehicle_owner","vehicle_owner_spell:vehicle_owner_spell","vehicle_type:vehicle_type","vehicle_category:vehicle_category","status:status","production_date:production_date","purchase_date:purchase_date","price:price","limit_number:limit_number","engine_number:engine_number","vehicle_tonnage:vehicle_tonnage","vehicle_long:vehicle_long","vehicle_width:vehicle_width","vehicle_height:vehicle_height","license_number:license_number","certification_date:certification_date","license_prefix:license_prefix","vehicle_color:vehicle_color","vehicle_brand:vehicle_brand","verification_startdate:verification_startdate","verification_enddate:verification_enddate","verification_result:verification_result","evaluate_date:evaluate_date","evaluate_grade:evaluate_grade","vehicle_url:vehicle_url","vehicle_number_color:vehicle_number_color","training_vehicle_type:training_vehicle_type","audit_status:audit_status","audit_date:audit_date","audit_name:audit_name","coach_id:coach_id","oil_consumption:oil_consumption","frame_number:frame_number","fuel_type:fuel_type","gear_type:gear_type","area_name:area_name","area_code:area_code","seat_count:seat_count","audit_opinion:audit_opinion","input_sources:input_sources","isblacklist:isblacklist","old_strid:old_strid","create_user_id:create_user_id","create_user_name:create_user_name","create_date_time:create_date_time","update_user_id:update_user_id","update_user_name:update_user_name","update_date_time:update_date_time"}
    */
    @Paging
    List<SchVehicle> selectPageList(@Param("filter") SchVehicleFilter filter);
}